<?php

include_once ('bd/ModeloBD.php');

class ModeloUsuario extends ModeloBD {

    private $idusuario;
    private $idparejas;
    private $idranking;
    private $idgrupo;
    private $idcategoria;
    private $idpermisos;
    private $usuiden;
    private $usunombre;
    private $usuapellido;
    private $usufechanacimiento;
    private $usulogin;
    private $usupassword;
    private $usupartganados;
    private $usupuntos;
    private $usuobservacion;
    private $usuestado;

    public function __construct($idusuario = "", $idparejas = "", $idranking = "", $idgrupo = "", $idcategoria = "", $idpermisos = "", $usuiden = "", $usunombre = "", $usuapellido = "", $usufechanacimiento = "", $usulogin = "", $usupassword = "", $usupartganados = "", $usupuntos = "", $usuobservacion = "", $usuestado = "") {
        $this->_oBaseDatos = CBaseDatos::get_instancia();
        $this->_oBaseDatos->conectar();
        $this->_sTabla = "usuario";
        $this->idusuario = $idusuario;
        $this->idparejas = $idparejas;
        $this->idranking = $idranking;
        $this->idgrupo = $idgrupo;
        $this->idcategoria = $idcategoria;
        $this->idpermisos = $idpermisos;
        $this->usuiden = $usuiden;
        $this->usunombre = $usunombre;
        $this->usuapellido = $usuapellido;
        $this->usufechanacimiento = $usufechanacimiento;
        $this->usulogin = $usulogin;
        $this->usupassword = $usupassword;
        $this->usupartganados = $usupartganados;
        $this->usupuntos = $usupuntos;
        $this->usuobservacion = $usuobservacion;
        $this->usuestado = $usuestado;
    }

    public function buscarUsuarioBy($usulogin, $usupassword) {
        $arUsuario = null;
        $sSQL = "
            SELECT *
            FROM $this->_sTabla
            WHERE usulogin='$usulogin' and usupassword='$usupassword'";
        $arUsuario = $this->query_object($sSQL);
        return $arUsuario;
    }

    public function buscarUsuarioById($usuiden) {
        $arUsuario = null;
        $sSQL = "
            SELECT *
            FROM $this->_sTabla
            WHERE usuiden=" . $usuiden;
        $arUsuario = $this->query_object($sSQL);
        return $arUsuario;
    }

    public function listaJugadores() {
        $arUsuarios = null;
        $sSQL = "
            SELECT a.*, b.catnombre, c.modnombre
            FROM $this->_sTabla a, categoria b, modalidad c, permisos d where a.idcategoria=b.idcategoria AND b.idmodalidad=c.idmodalidad AND a.usuestado=1 AND a.idpermisos=d.idpermisos AND d.idpermisos=3 order by a.idusuario desc ";
        $arUsuarios = $this->query_object($sSQL);
        return $arUsuarios;
    }

    public function listaJueces() {
        $arUsuarios = null;
        $sSQL = "
            SELECT a.*
            FROM $this->_sTabla a, permisos b where a.idpermisos=b.idpermisos AND b.idpermisos=2 AND a.usuestado=1 order by a.idusuario desc ";
        $arUsuarios = $this->query_object($sSQL);
        return $arUsuarios;
    }

    public function crearJugador() {
        $idcategoria = $this->idcategoria;
        $usuiden = $this->usuiden;
        $usunombre = $this->usunombre;
        $usuapellido = $this->usuapellido;
        $usufechanacimiento = $this->usufechanacimiento;
        $usupartganados = $this->usupartganados;
        $usupuntos = $this->usupuntos;
        $sSQL = "INSERT INTO $this->_sTabla
               (idparejas,idranking, idgrupo,idcategoria, idpermisos,usuiden,usunombre, usuapellido, usufechanacimiento,usulogin, usupassword ,usupartganados, usupuntos,usuobservacion,usuestado)
               VALUES(null,null, null ,'$idcategoria ', 3, '$usuiden', '$usunombre',' $usuapellido ', '$usufechanacimiento', '$usuiden', '$usuiden','$usupartganados','$usupuntos','',1)";

        $this->execute($sSQL);
    }

    public function crearPareja($parjugador1, $parjugador2) {
        $sSQL = "INSERT INTO parejas
               (parjugador1,parjugador2,parobservacion, parestado)
               VALUES('$parjugador1 ','$parjugador2', '',1)";

        $this->execute($sSQL);
    }

    public function BuscarPareja($parjugador1) {
        $arParejas = null;
        $sSQL = "
            SELECT *
            FROM parejas where parjugador1=$parjugador1";
        $arParejas = $this->query_object($sSQL);
        return $arParejas;
    }

    public function crearJueces() {
        $usuiden = $this->usuiden;
        $usunombre = $this->usunombre;
        $usuapellido = $this->usuapellido;
        $usufechanacimiento = $this->usufechanacimiento;
        $usupartganados = $this->usupartganados;
        $sSQL = "INSERT INTO $this->_sTabla
               (idparejas,idranking, idgrupo,idcategoria, idpermisos,usuiden,usunombre, usuapellido, usufechanacimiento,usulogin, usupassword ,usupartganados, usupuntos,usuobservacion,usuestado)
               VALUES(null,null, null ,null, 2, '$usuiden', '$usunombre',' $usuapellido ', '$usufechanacimiento', '$usuiden', '$usuiden','$usupartganados',0,'',1)";

        $this->execute($sSQL);
    }

    public function getModalidadByCategoria($idcategoria) {
        $arModalidad = null;
        $sSQL = "
            SELECT b.*
            FROM $this->_sTabla a, modalidad b, categoria c   where a.idcategoria=c.idcategoria AND c.idcategoria='" . $idcategoria . "' AND b.idmodalidad=c.idmodalidad";
        $arModalidad = $this->query_object($sSQL);
//        var_dump($arSucursal['usuario'][0]['usucodsx']); //QUERY
//        var_dump($arSucursal[0]->usucodsx); //QUERY_OBJECT
        return $arModalidad;
    }
        public function getRankingByUsuario($idusuario) {
        $arRanking = null;
        $sSQL = "
            SELECT b.*
            FROM $this->_sTabla a, ranking b, torneo c, categoria d   where c.idcategoria=d.idcategoria AND a.idcategoria=c.idcategoria AND b.idtorneo=c.idtorneo AND a.idusuario=".$idusuario." AND c.torestado=1 ";
        $arRanking = $this->query_object($sSQL);
        return $arRanking;
    }

    public function actualizarParejaJugador($idusuario,$idparejas) {
        $sSQL = "UPDATE $this->_sTabla
               SET
                idparejas = '$idparejas'
                WHERE idusuario =$idusuario";

        $this->execute($sSQL);
    }
    
    public function actualizarRankingJugador($idusuario,$idranking) {
        $sSQL = "UPDATE $this->_sTabla
               SET
                idranking = '$idranking'
                WHERE idusuario =$idusuario";

        $this->execute($sSQL);
    }

    public function actualizarJugador($idusuario) {
        $idcategoria = $this->idcategoria;
        $usuiden = $this->usuiden;
        $usunombre = $this->usunombre;
        $usuapellido = $this->usuapellido;
        $usufechanacimiento = $this->usufechanacimiento;
        $usupartganados = $this->usupartganados;
        $usupuntos = $this->usupuntos;
        $usulogin = $this->usulogin;
        $usupassword = $this->usupassword;

        $sSQL = "UPDATE $this->_sTabla
               SET
                idcategoria = '$idcategoria',
                idpermisos = 3,
                usuiden = '$usuiden',
                usunombre = '$usunombre',
                usuapellido = '$usuapellido',
                usufechanacimiento = '$usufechanacimiento',
                usupartganados= '$usupartganados',
                usupuntos= '$usupuntos',
                usulogin = '$usulogin',
                usupassword = '$usupassword',
                usuestado = 1
                WHERE idusuario = '$idusuario'";

        $this->execute($sSQL);
    }

    public function actualizarJueces($idusuario) {
        $usuiden = $this->usuiden;
        $usunombre = $this->usunombre;
        $usuapellido = $this->usuapellido;
        $usufechanacimiento = $this->usufechanacimiento;
        $usupartganados = $this->usupartganados;
        $usulogin = $this->usulogin;
        $usupassword = $this->usupassword;

        $sSQL = "UPDATE $this->_sTabla
               SET
                idpermisos = 2,
                usuiden = '$usuiden',
                usunombre = '$usunombre',
                usuapellido = '$usuapellido',
                usufechanacimiento = '$usufechanacimiento',
                usupartganados = '$usupartganados',
                usulogin = '$usulogin',
                usupassword = '$usupassword',
                usuestado = 1
                WHERE idusuario = '$idusuario'";

        $this->execute($sSQL);
    }

    public function actualizarEstado($idusuario) {
        $sSQL = "UPDATE $this->_sTabla
               SET
               usuestado = 0
               WHERE idusuario = $idusuario";
        $this->execute($sSQL);
    }

}

?>
